package com.ys.draw;

import javax.swing.*;
import java.awt.*;

/**
 * @program: tank-battle
 * @description: 演示如何在面板上画图
 * @author: ys
 * @create: 2021-07-26 20:57
 */
public class DrawCircle extends JFrame{//JFrame对应窗口,可以理解是一个画框

    //定义一个面板
    private MyPanel mp = null;
    public static void main(String[] args) {
        new DrawCircle();
    }

    public DrawCircle(){
        //初始化面板
        mp = new MyPanel();
        //把面板放入窗口
        this.add(mp);
        //设置窗口大小
        this.setSize(400,300);
        //当点击窗口的小x，程序完全退出
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }
}

//1.先定义一个MyPanel，继承JPanel类，画图形，就在面板上画
class MyPanel extends JPanel{
    /**
     * 说明：
     * 1.MyPanel 对象就是一个画板
     * 2.Graphics 画笔
     * @param g
     */
    @Override
    public void paint(Graphics g) {//绘图方法
        super.paint(g);//调用父类的方法完成初始化
        //画一个圆
//        g.drawOval(20,20,100,100);

        //演示绘制不同的图形
        //画直线
//        g.drawLine(10,10,100,100);
        //画矩形边框
//        g.drawRect(10,10,100,100);
        //填充矩形 : 1.设置画笔的颜色
//        g.setColor(Color.blue);
//        g.fillRect(10,10,100,100);
        //填充椭圆
//        g.setColor(Color.red);
//        g.fillOval(10,10,200,100);
        //画图片 : 1.获取图片资源
        Image image = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/bf.jpg"));
        g.drawImage(image,10,10,468,268,this);

    }
}
